From c78ec37d83b54a0789ac761725f4fc5b700e23ec Mon Sep 17 00:00:00 2001 From: Ulli Kehrle Date: Thu, 22 Apr 2021 01:50:35 +0200 Subject: [PATCH] imcontextsimple: Ignore more modifiers in compose MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Previously it was impossible to compose characters on higher levels of some keyboard layouts as pressing the level selection key would just exit compose mode. Examples for affected keyboard layouts include the Latvian apostrophe-variant "lv(apostrophe)" (latched third level), the extended German keyboard layout "de(e1)" (latched fifth level) as well as the multilingual Canadian keyboard layout "ca(multix)" and the German neo-layout "de(neo)" and its descendants (shifted fifth level). To reproduce, set a compose key and select the Latvian apostrophe layout. Notice that you now can input [ by pressing first the ' and then the 8-key. Then pressing '8'8 should produce ⟦, but prior to this patch it did not. --- gtk/gtkimcontextsimple.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gtk/gtkimcontextsimple.c b/gtk/gtkimcontextsimple.c index 074ffdd01f..1cbb64cf45 100644 --- a/gtk/gtkimcontextsimple.c +++ b/gtk/gtkimcontextsimple.c @@ -105,7 +105,10 @@ static const guint16 gtk_compose_ignore[] = { GDK_KEY_Hyper_L, GDK_KEY_Hyper_R, GDK_KEY_Mode_switch, - GDK_KEY_ISO_Level3_Shift + GDK_KEY_ISO_Level3_Shift, + GDK_KEY_ISO_Level3_Latch, + GDK_KEY_ISO_Level5_Shift, + GDK_KEY_ISO_Level5_Latch }; static void gtk_im_context_simple_finalize (GObject *obj); -- 2.30.2